type Maybe a = Either (Const () a) (Identity a)